Skip to content

feat(tools): expose httpx_client_factory on RestApiTool and OpenAPITo…#5715

Open
darshil3011 wants to merge 1 commit into
google:mainfrom
darshil3011:feat/openapi-tool-httpx-client-factory
Open

feat(tools): expose httpx_client_factory on RestApiTool and OpenAPITo…#5715
darshil3011 wants to merge 1 commit into
google:mainfrom
darshil3011:feat/openapi-tool-httpx-client-factory

Conversation

@darshil3011
Copy link
Copy Markdown

…olset

Mirror the pattern merged for MCP in #2997 (StreamableHTTPConnectionParams. httpx_client_factory) on the OpenAPI tool surface.

Adds an optional httpx_client_factory parameter to:

  • RestApiTool.init
  • RestApiTool.from_parsed_operation
  • OpenAPIToolset.init

OpenAPIToolset forwards the factory to every generated RestApiTool the same way ssl_verify and header_provider are already forwarded. When provided, the factory's client is used to issue each API call; when None (default), the existing httpx.AsyncClient(verify=..., timeout=None) construction is preserved exactly. This unlocks httpx.AsyncClient knobs that the narrower ssl_verify parameter can't reach: proxies, HTTP/2, custom transports (e.g. request signing), and shared connection pools.

Closes #5681

Please ensure you have read the contribution guide before creating a pull request.

Link to Issue or Description of Change

1. Link to an existing issue (if applicable):

  • Closes: #issue_number
  • Related: #issue_number

2. Or, if no issue exists, describe the change:

If applicable, please follow the issue templates to provide as much detail as
possible.

Problem:
A clear and concise description of what the problem is.

Solution:
A clear and concise description of what you want to happen and why you choose
this solution.

Testing Plan

Please describe the tests that you ran to verify your changes. This is required
for all PRs that are not small documentation or typo fixes.

Unit Tests:

  • I have added or updated unit tests for my change.
  • All unit tests pass locally.

Please include a summary of passed pytest results.

Manual End-to-End (E2E) Tests:

Please provide instructions on how to manually test your changes, including any
necessary setup or configuration. Please provide logs or screenshots to help
reviewers better understand the fix.

Checklist

  • I have read the CONTRIBUTING.md document.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have added tests that prove my fix is effective or that my feature works.
  • New and existing unit tests pass locally with my changes.
  • I have manually tested my changes end-to-end.
  • Any dependent changes have been merged and published in downstream modules.

Additional context

Add any other context or screenshots about the feature request here.

…olset

Mirror the pattern merged for MCP in google#2997 (StreamableHTTPConnectionParams.
httpx_client_factory) on the OpenAPI tool surface.

Adds an optional httpx_client_factory parameter to:

  - RestApiTool.__init__
  - RestApiTool.from_parsed_operation
  - OpenAPIToolset.__init__

OpenAPIToolset forwards the factory to every generated RestApiTool the same
way ssl_verify and header_provider are already forwarded. When provided, the
factory's client is used to issue each API call; when None (default), the
existing httpx.AsyncClient(verify=..., timeout=None) construction is
preserved exactly. This unlocks httpx.AsyncClient knobs that the narrower
ssl_verify parameter can't reach: proxies, HTTP/2, custom transports
(e.g. request signing), and shared connection pools.

Closes google#5681
@google-cla
Copy link
Copy Markdown

google-cla Bot commented May 15, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(openapi_tool): expose httpx_client_factory on RestApiTool / OpenAPIToolset (sister-API gap with MCP toolset)

1 participant